package org.gdstash.file;

import java.io.IOException;

public interface GDBuffer extends AutoCloseable {
  public static final int SIZE_1KB = 1024;
  public static final int SIZE_1MB = 1048576;
  public static final int SIZE_10MB = 10485760;
  public static final int SIZE_100MB = 104857600;

  byte[] getByteArray(final int p0) throws IOException;

  byte[] getByteArray(final long p0, final int p1) throws IOException;

  byte getByte() throws IOException;

  byte[] getBytes8() throws IOException;

  int getInt() throws IOException;

  long getUnsignedInt() throws IOException;

  long getLong() throws IOException;

  short getShort() throws IOException;

  String getString(final int p0) throws IOException;

  String getStringLB() throws IOException;

  String getStringNT() throws IOException;

  ARZString getARZString() throws IOException;

  long getPosition() throws IOException;

  void setPosition(final long p0) throws IOException;

  void close() throws IOException;
}
